package com.hp.enums;



/**
 * 网关返回code枚举类
 *
 * @author tangyu
 * @since 2018/12/14
 */
public enum ErrorCode implements ExceptionCode {
    /**
     * defined
     */

    TGC_IS_NOT_EXSIT_IN_COOKIE("889","登录超时，请重新登录OA"),
    LOGIN_TIMEOUT_ERROR("990", "您的页面已超时，请重新登录账号!"),
    LOGIN_NO_UNIT_ID_ERROR("887","您的账号未挂靠部门,请联系管理员!"),
    LOGIN_ERROR("991", "登录失败"),

    INVALID_SIGNATURE("992", "签名失败"),

    TOKEN_LOST("993", "token缺失"),

    USERNAME_NOT_FOUND("995", "用户名不存在"),

    BAD_CREDENTIALS("996", "用户名密码错误"),

    LOCKED("997", "账号已被锁定,请联系管理员"),

    UN_LOGIN("998", "用户没有登录"),

    TOKEN_INVALID("999", "无效的token"),

    SUCCESS("1000", "成功"),

    PERMISSION_ERROR("403", "没有权限"),
    IS_REPEAT_SUBMIT("403","重复请求"),
    REPEAT_SUBMIT("9003","该流程已被处理,请勿重复请求"),

    FILE_EXIST("2001", "该上传文件名称已经存在"),
    FILE_NOT_EXIST("2010", "该文件不存在"),
    FILE_UPLOAD_ERROR("2011","文件上传失败 请联系管理员"),
    FILE_UPLOAD_FORMAT_ERROR("2023","文件格式错误！"),
    MKDIR_ERROR("2012","创建文件夹目录出错"),
    ROLE_EXIST("2002", "该角色名称已经存在"),
    USER_GROUP_EXIST("2003", "该用户组已经存在"),
    SAFETY_ROLE_EXIST("2004","资质类型已存在"),
    ASSID_EMPTY("2005","分配人不能为空"),
    FILE_IS_EMPTY("2009","文件为空"),
    ILLEGAL_PARAMETER("1001", "非法参数"),
    NOT_FIND_USER("1002", "用户信息不存在"),
    NOT_FIND_USER_GROUP("1003", "该员工没有设置权限组"),
    NOT_FIND_USER_PERMISSION("1004", "该员工无权限操作"),
    NOT_FIND_TASK("1005", "没有查询到流程信息"),
    DELETED_ERROR("1006", "不能删除"),
    DATE_ERROR("1007","需要整改时间"),
    MESSAGE_ERROR("1008","没有数据"),
    RESULT_MESSAGE_ERROR("1009","返回数据结构不匹配"),
    NOT_OVER_ERROR("1010","任务没有完结"),
    CAN_NOT_REPEATED("1011","不能重复"),
    IS_EXIST("1013","目录名不能重复"),
    ORIGIN_ACTIVITY_IS_NOT_EXIST("1020","源报告不存在"),
    ORGANIZATION_IS_NOT_EXIST("1021","部门不存在"),
    ORGANIZATION_NOT_EXIST("1024","组织不存在"),
    CATALOG_DELETE_ERROR("1011","存在子目录删除失败"),
    NOT_FIND_WORKFLOW_ID("1012", "没有查询到工作流实例信息"),
    NOT_HANDLER("1013", "没有查询到流程下一步处理人，请联系管理员"),
    BUTTON_CONFIG_ERROR("1090", "按钮信息配置错误，请联系管理员"),

    UNIT_ALREADY_EXIST("2021","安监组织已经存在"),
    ROLE_MAP_USER_EXIST("2022","角色用户已经存在"),



    ROUTE_EXIST("ROUTE_EXIST", "route exist"),

    ROUTE_NOT_EXIST("ROUTE_NOT_EXIST", "not find route"),

    MODIFY_RISK_ANALYSIS_THREAT_OR_ERROR("MODIFY_RISK", "删除 威胁/差错 前，请删除对应的所有的条款"),

    /**
     * app id或app secret错误
     */
    CREDENTIAL_ERROR("CREDENTIAL_ERROR", "app id or app secret is wrong"),

    /**
     * 今日获取token的次数已达上限
     */
    MAX_LIMIT("MAX_LIMIT", "get token max limit"),

    /**
     * IP不在白名单中
     */
    IP_INVALID("IP_INVALID", "ip not in white list"),

    /**
     * 没有接口调用权限
     */
    INVALID_SERVICE("INVALID_SERVICE", "service not in white list"),

    /**
     * 没有接口调用权限
     */
    INTERNAL_SERVER_ERROR("INTERNAL_SERVER_ERROR", "internal server error"),

    /**
     * 获取token grant type错误
     */
    INVALID_GRANT_TYPE("INVALID_GRANT_TYPE", "invalid grant type"),

    /**
     * 获取token grant type错误
     */
    GET_TOKEN_ERROR("GET_TOKEN_ERROR", "get token error"),

    /**
     * 系统异常
     */
    SYSTEM_ERROR("9001", "system error"),

    /**
     * bean 未找到
     */
    BEAN_NOT_FIND_ERROR("9005","bean 未找到"),

    /**
     * 角色未找到
     */
    ROLE_NOT_FIND_ERROR("9006","角色查找失败"),

    /**
     * 入参异常
     */
    INVALID_REQUEST_PARAM_ERROR("9002","参数错误"),

    //    PRE_PERMISSION_ERROR("9009","前序处理或者权限不够"),
    PRE_PERMISSION_ERROR("9009","您尚未创建风险分析或尚有未结案的风险分析，无法结案。"),

    /**
     *  员工报告结案关联的信息报告未处理异常
     */
    CLOSE_REPORT_ERROR("1013", "关联信息报告存在未处理结束流程，无法进行该操作"),
    /**
     * 员工报告分配，未找到分配的信息报告
     */
    NO_INFO_REPORT_ERROR("1014", "请先进行任务分配!"),
    /**
     *  分配信息报告判断航班信息是否存在
     */
    FLIGHT_INFO_EXIST("1015","该航班信息已存在,请重新选择！"),
    /**
     *  强制信息报告信息获取节点判断信息获取是否填写
     */
    AIR_REPORT_INFO("1016","请正确填写（或选择）所有必填项,并保存！"),

    NOT_EMPTY_ID("1017", "安全信息报告Id不能为空"),
    /**
     * tem分析不能为空
     */
    NOT_NULL_TEM("1018","请填写TEM分析！"),
    /**
     * 邮箱配置信息为空
     */
    NOT_EMAIL_MESSAGE("1019","邮箱配置信息为空！"),
    /**
     * 删除报告不能为主动报告、机长报告、匿名报告
     */
    NOT_EMPLOYEE_REPORT("1010","请删除主动报告、机长报告、匿名报告以外的报告类型！"),
    /**
     * 未找到发布记录
     */
    NOT_PUBLISH_RECORD("1022", "未找到发布记录！"),
    /**
     * 未结案报告无法进行发布
     */
    NOT_COMPLETE_STATUS("1023","你好，待纠正预防措施中制定整改措施后方可结案！！"),


    /**
     * 强制报告  信息获取部分 提示信息
     */
    INFORMATION_ACQUISITION_TIPS_MESSAGE("1024", "您好，请刷新本页面在进行提交"),

    FIND_NULL("FIND_NULL","根据ID未查到相对应的数据！"),


    /*流程节点模块已存在*/
    PROCESS_STATUS_MODULE_EXIST("1025","此流程节点模块信息已存在"),

    MUST_NOT_NULL("1026","不能为空"),

    /**实现类无需实现此方法*/
    SERVICE_NOT_FOUND("SERVICE_NOT_FOUND","方法未找到"),

    NOT_MODIFY("NOT_MODIFY","该数据不可删除！"),

    INFORMATION_REPORT_ERROR("INFORMATION_REPORT_ERROR","请重新分配！"),
    /**
     * 时间转换错误
     */
    DATE_PARSE_ERROR("DATE_PARSE_ERROR","时间转换错误"),
    /**
     *
     * 消息发送失败
     * */
    PUSH_MESSAGE_ERROR("PUSH_MESSAGE_ERROR","消息推送失败"),
    /**
     * 主动报告老接口已经停用，提示
     */
    ADD_EMPLOYEE_REPORT_OLD_WAY_INFORMATION("EMPLOYEE_REPORT_OLD_WAY_INFORMATION","SMS系统新功能已上线，请强制刷页面!"),

    SUBMIT_REPORT_ERROR("SUBMIT_REPORT_ERROR","流程开启失败，报告未提交成功，请重试！"),

    DATASOURCE_ERROR("dataSource_error","操作数据库异常，请联系管理员！"),
    /**
     * 绑定参数校验异常
     */
    VALID_ERROR("8997", "参数校验异常"),


    ;



    private String errorCode;
    private String errorMsg;

    ErrorCode(String errorCode, String errorMsg) {
        this.errorCode = errorCode;
        this.errorMsg = errorMsg;
    }

    @Override
    public String getCode() {
        return this.errorCode;
    }

    @Override
    public String getDesc() {
        return this.errorMsg;
    }
}
